package com.softline.documentsmall.dao;

import com.softline.documentsmall.entity.LogAnalyse;
import org.apache.ibatis.annotations.Param;
import org.mapstruct.Mapper;

import java.util.List;
import java.util.Map;

@Mapper
public interface LogAnalyseMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(LogAnalyse record);

    int insertSelective(LogAnalyse record);

    LogAnalyse selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(LogAnalyse record);

    int updateByPrimaryKey(LogAnalyse record);

    /**
     * 根据用户ID查询 词条语言分析数据
     * @param userId
     * @return
     */
    List<Map<String, Object>> selectLanguageForMe(@Param("userId") String userId);

    /**
     * 查询所有用户 词条语言分析数据
     * @return
     */
    List<Map<String, Object>> selectLanguage();

    /**
     * 根据用户ID查询当月访问时间
     * @param userId
     * @return
     */
    List<Map<String, Object>> selectCalendar(@Param("userId") String userId);

    /**
     * 根据用户ID查询已查看词汇
     * @param userId
     * @return
     */
    Map<String, Object> selectPercent(@Param("userId") String userId);

    /**
     * 根据用户,语言查询访问个人数
     * @param userId
     * @param type
     * @return
     */
    List<Map<String, Object>> selectFirstTypeByUserAndUserId(@Param("userId") String userId, @Param("type") String type);


    /**
     * 根据语言查询所有访问数
     * @param type 语种
     * @return
     */
    List<Map<String, Object>> selectFirstTypeByAll(String type);

    /**
     * 根据用户ID,语种类型去查询用户看过的术语知识图谱
     * @param type
     * @param userId
     * @return
     */
    List<Map<String, Object>> selectKnowledge(@Param("type") String type,@Param("userId")String userId);
}
